*光盘读取原理无论是CD光盘还是DVD光盘,其存储方式与磁盘一样,都是以二进制数据的形式来存储信息。要在这些光盘上存储数据,需要借助激光把二进制数据刻在扁平、具有反射能力的盘片上。为了识别数据,定义激光刻出的小坑就代表二进制的“1”,而空白处则代表二进制的“0”。(凹坑和平坦区域的 边缘变化【如从凹坑到平坦,或反之】代表”1”,无变化代表”0”)DVD的记录凹坑比CD小,且螺旋存储凹坑之间的距离也更小。
CD光驱或DVD光驱的主要部分就是激光发生器和光监测器。激光发生器(激光二极管),可以产生对应波长的激光光束,然后经过一系列的处理后照到光盘上。经由光监测器捕捉反射信号而识别实际的数据。然后计算机将这些二进制代码转换成为原来的数据或程序。当光盘在光驱中作高速旋转,激光头在电机的控制下作径向移动,数据就这样源源不断地读取出来。
根据数据密度的差别可分为CD, DVD, BD等。
光盘与机械硬盘的工作原理区别可见以下博客:
https://zhuanlan.zhihu.com/p/51572176
在写一些内容时,会遇到需要添加数学公式的地方,Hexo部分主题不支持公式的渲染,比如我正在使用的vivia主题,在查阅一些资料之后,我使用MathJax引擎实现了vivia主题下的数学公式渲染。
MathJax简介:https://www.osgeo.cn/mathjax/basic/mathjax.html
该引擎是一款可在所有现代浏览器中工作的开源js显示引擎,辅助页面作者编写含有数学公式的文档
Step 1 : 安装MathJax引擎并更换渲染引擎: 操作包括卸载Hexo自带的Hexo-math,卸载默认的对MathJax不友好的marked引擎
npm uinstall hexo-math --save
npm install hexo-renderer-mathjax --save
npm uinstall hexo-renderer-marked --save
npm install hexo-renderer-kramed --save
Step 2 : 更新MathJax的cdn链接Step 3 : 更改部分转义规则 hexo 默认...
Lecture 0 ScratchLecture 1 CLecture 2 ArraysLecture 3 Algorithms
Time Complexity is an important metric used to measure the relationship between the running time of an algorithm and the size of the input. It describes how the execution time of an algorithm increases as the input size grows. Time complexity helps us assess the efficiency of an algorithm under different problem sizes, allowing us to choose the most appropriate algorithm. Time complexity is usually expressed using Big notation....
项目背景:
DIY好玩捏
电路工作时有时需要检查元件发热情况,但用手触摸元件有一定的风险,因此需要一种无接触式的多点测温设备
于是开始了解到热成像这个测温方式,以下是软硬件方案
方案:硬件部分 采用上下两块板子对插组合,为了减少复杂度,留了排母方便直插LCD与传感器模组。
BOARD1: MCU与外设
采用STM32F407作为主控,512KB Flash,其实没特别注意选型,只是手上有这个开发板,要压缩成本的话用其他型号也可以
红外传感模组为MLX90640 BAA,这个价格比较贵,比其他元件加起来都贵
屏幕模组为1.44寸TFT-LCD,也是现成的,买了俩还剩一个,下次做别的东西的时候给用了吧
留了串口测试点和烧录测试点
BOARD2: POWER
3.7V锂电池供电,可通过USB接口经过LGS4084H电源管理芯片给锂电池充电
经过一个LDO稳到3.3V给MCU整体供电,VDDA和VCC用磁珠滤波隔离了一下
电源板后续涉及锂电池供电DIY的倒是可以继续沿用
立创打样PCB,自己贴片,PCB板框留了一...
家里的路由器变砖了(具体原因不清楚)
指示灯由蓝色常亮变成橙色常亮,对于家用路由器这种消费电子产品,一般重启一下能解决90%的故障
但心血来潮想试一下给它刷个机
型号是这个:
刷机需要一根网线,PC,以及变砖的路由器
步骤如下:
在网址MiWiFi中找到刷机软件与对应型号的ROM固件
关闭PC的防火墙,将网线连接至路由器的LAN口,本型号WAN与LAN口二合一了,随便找个口插上就行
打开刷机软件并载入对应的固件
用工具按住路由器的reset键后通电源,这一步非常像之前给单片机内部flash进行ISP下载程序的步骤,因此感觉很熟悉
待指示灯闪烁后松开reset键,固件开始下载
路由器变为蓝灯闪烁,此时已经刷机完成,当新路由器用就行
Overview寒假从公寓打包东西回家时,我感受到自己的行李数量过多,直观的表现是我用了四个大号搬家盒邮寄,但剩余的物品还是将我的行李箱塞得很满,导致拉链都很难拉上。
我有收藏的癖好,包括各种证件,证书,徽章等。很多时候我觉得这个习惯帮助自己成为一个有条理的人,因为对于收纳好的物品,我很少出现找不到东西的情况;但也有很多时候我感觉自己在已经过去的事情上花费了过多的精力,一定程度上影响了自己的生活节奏。
然而我始终认为很多东西是有纪念意义的,因此有必要在实现这个意义的方法上进行一些变通。近期,我在收纳整理方面做了一些思考与改变。
For Record在2023年我看到一些博主,使用一种叫手账的方式记录自己的日常生活,他们会在一些记事本(通常外观看起来比较好看)上通过文字,绘画与粘贴物品等方式呈现一种比日记更丰富的格式,个人风格十分鲜明。当时正值保研结束的暑假,是我大学以来最放松的一段时间,对现实与未来没有过多的想象与焦虑,仿佛生活随风而起,处处是可以随手采撷的格桑花。于是我一眼看上这种“生活的艺术”,买了一个手账本,一台用于打印照片的 Canon CP1500,以及一些用来切割的工...
UART(Universal Asynchronous Receiver/Transmitter)是一种串行通信协议,在嵌入式系统和微控制器间数据传输中发挥着核心作用。UART协议通过异步方式传输数据,不依赖于共享时钟信号,简化了通信线路的需求。每次传输包括起始位、数据位、可选的奇偶校验位以及停止位,这种结构支持从简单的传感器到复杂的处理器之间的可靠数据交换。
其重要性还体现在其广泛的兼容性和低成本实现上。它可以通过简单的两线(TX和RX)接口实现全双工通信,极大地降低了系统的硬件复杂性。此外,UART通信协议可以适应不同的波特率设置,使其能够灵活地调整以匹配特定应用的速度要求。在许多工业和消费电子产品中,UART仍然是实现可靠串行通信的首选技术,尤其在资源受限的环境中显示出其高效和经济的优势。(以上均为GPT生成)
在进行传感器测试时,常用到UART,这里mark一下自己常用的HAL库函数封装,免得后续一直翻之前的程序
函数需要用到的全局变量如下:
char send[20] = {0}; //传输用字符数组,储存字符串
uint8_t rx_buffer...